package com.xinrui.sunnyday.dao;

import com.xinrui.sunnyday.pojo.Order;
import org.apache.ibatis.annotations.Param;
import org.springframework.security.core.parameters.P;

import java.util.List;
import java.util.Map;

public interface OrderDao {
    /**
     * 新增订单信息
     */
    void add(Order order);

    /**
     * 带条件查询订单信息
     */
    Order findByCondition(Order order);

    /**
     * 根据订单id查询预约信息
     */
    Map findById4Detail(Integer id);

    /**
     * 根据日期统计订单数
     */
    Integer findOrderCountByDate(String date);
    /**
     * 本周：根据日期统计指定日期之后的订单数
     */
    Integer findOrderCountAfterDate(String date);
    /**
     * 根据日期统计到诊数
     */
    Integer findVisitsCountByDate(String date);
    /**
     * 根据日期统计指定日期之后的到诊数
     */
    Integer findVisitsCountAfterDate(String date);

    /**
     * 查询热门套餐
     */
    List<Map> findHotSetmeal();

    /**
     * 本周预约数
     * @param thisWeekDay
     * @param lastWeekDay
     * @return
     */
    Integer findOrderCountWeekDate(@Param("thisWeekDay") String thisWeekDay,@Param("lastWeekDay") String lastWeekDay);

    /**
     * 本月预约数
     * @param firstDay4ThisMonth
     * @param lastDayOfThisMonth
     * @return
     */
    Integer findOrderCountMonthDate(@Param("firstDay4ThisMonth") String firstDay4ThisMonth,@Param("lastDayOfThisMonth") String lastDayOfThisMonth);

    /**
     * 本月：根据日期统计指定日期之后的订单数
     * @param firstDay4ThisMonth
     * @return
     */
//    Integer findOrderCountMonthDate(String firstDay4ThisMonth);
}
